/*
 * SpectraSTTrainModelParams.hpp
 *
 *  Created on: 28 Jul, 2012
 *      Author: yhu
 */

#ifndef SPECTRASTTRAINMODELPARAMS_HPP_
#define SPECTRASTTRAINMODELPARAMS_HPP_

#include "includes.h"
#include "SpectraSTParams.hpp"
#include "FileUtils.hpp"
#include "SpectraSTConstants.hpp"

class SpectraSTTrainModelParams : public SpectraSTParams {
public:
	SpectraSTTrainModelParams();
	~SpectraSTTrainModelParams();

	bool addOption(string option);
	void finalizeOptions();
	void finalizeAdvancedOption(string option);

	static void printAdvancedOptions(ostream& out);
	static void printUsage(ostream& out);

	void printParams();

private:
	long int m_maxRoundsNum;
	int m_predictPeaksNum;
	float m_fragTolerance;

	string m_modelName;
	string m_outputFileName;

	void setDefault();
	bool isExpectingArg(string option);
};

#endif /* SPECTRASTTRAINMODELPARAMS_HPP_ */
